package com.cimu.quartz.service;


import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.cimu.quartz.entity.ScheduleJob;

import java.util.List;

/**
 * 定时任务
 * 
 */
public interface ScheduleJobService extends IService<ScheduleJob> {

	/**
	 * 查询分页数据
	 * @param page Page<ScheduleJob>
	 * @param scheduleJobLog ScheduleJob
	 * @return Page<ScheduleJob>
	 */
	Page<ScheduleJob> queryPage(Page<ScheduleJob> page,
								ScheduleJob scheduleJobLog);

	/**
	 * 保存定时任务
	 */
	void save(ScheduleJob scheduleJob);

	/**
	 * 更新定时任务
	 */
	void update(ScheduleJob scheduleJob);

	/**
	 * 批量删除定时任务
	 */
	void deleteBatch(List<Long> jobIds);

	/**
	 * 批量更新定时任务状态
	 */
	int updateBatch(List<Long> jobIds, String status);

	/**
	 * 立即执行
	 */
	void run(List<Long> jobIds);

	/**
	 * 暂停运行
	 */
	void pause(List<Long> jobIds);

	/**
	 * 恢复运行
	 */
	void resume(List<Long> jobIds);

}
